Processes that execute in a computer system typically request memory allocations to perform work using the memory. These processes may execute in computer systems with more than one processing resource where one or more memory allocators may be provided to process the memory requests. Each process may be configured to taking advantage of available concurrency on a computer system by allowing different parts of the process to be executed on different processing resources simultaneously. In a process that uses such concurrency, managing the locality of memory accesses may be of importance to the performance of the process. In addition, accessing one or more memory allocators from multiple processing resources typically involves including synchronization mechanisms which adds significant overhead to the memory allocation process.